﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Namespace roncliProductions.LibWowArmory.Item.Info

    ''' <summary>
    ''' A class that encapsulates an item created by a spell
    ''' </summary>
    ''' <remarks></remarks>
    Public Class SpellCreatedItem

        ''' <summary>
        ''' The filename of the item's icon
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Icon As String

        ''' <summary>
        ''' The ID of the item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemID As Integer

        ''' <summary>
        ''' The item level
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Level As Integer

        ''' <summary>
        ''' The name of the item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Name As String

        ''' <summary>
        ''' The quality of the item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Quality As Enums.RarityType

        ''' <summary>
        ''' The required ability to use the item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredAbility As String

        ''' <summary>
        ''' The required profession to use the item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredSkill As String

        ''' <summary>
        ''' The required skill level to use the item
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredSkillRank As Integer

        ''' <summary>
        ''' The type of the item created by the spell
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemType As String

        ''' <summary>
        ''' The item created by the spell
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property Item As ItemInfo
            Get
                Return New ItemInfo(ItemID)
            End Get
        End Property

        ''' <summary>
        ''' A constructor to create new spell item information
        ''' </summary>
        ''' <param name="strIcon"></param>
        ''' <param name="intID"></param>
        ''' <param name="intLevel"></param>
        ''' <param name="strName"></param>
        ''' <param name="rQuality"></param>
        ''' <param name="strRequiredAbility"></param>
        ''' <param name="strRequiredSkill"></param>
        ''' <param name="intRequiredSkillRank"></param>
        ''' <param name="strType"></param>
        ''' <remarks></remarks>
        Public Sub New(ByVal strIcon As String, ByVal intID As Integer, ByVal intLevel As Integer, ByVal strName As String, ByVal rQuality As Enums.RarityType, ByVal strRequiredAbility As String, ByVal strRequiredSkill As String, ByVal intRequiredSkillRank As Integer, ByVal strType As String)
            Icon = strIcon
            ItemID = intID
            Level = intLevel
            Name = strName
            Quality = rQuality
            RequiredAbility = strRequiredAbility
            RequiredSkill = strRequiredSkill
            RequiredSkillRank = intRequiredSkillRank
            ItemType = strType
        End Sub

    End Class

End Namespace
